/*
*  Copyright 2019-2025 Zheng Jie
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
package me.zhengjie.modules.transfer.domain;

import lombok.Data;
import cn.hutool.core.bean.BeanUtil;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.copier.CopyOptions;
import java.math.BigDecimal;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

/**
* @description /
* @author lzw
* @date 2025-04-25
**/
@Data
@TableName("transfer_ic91")
public class TransferIc91 implements Serializable {

    @TableId(value = "aaz652")
    @ApiModelProperty(value = "参保人员历年缴费及个人账户记账信息ID")
    private String aaz652;

    @NotBlank
    @ApiModelProperty(value = "系统跟踪流水号")
    private String aaz341;

    @ApiModelProperty(value = "转出地人员编号")
    private String aac319;

    @NotBlank
    @ApiModelProperty(value = "人员编号")
    private String aac001;

    @NotBlank
    @ApiModelProperty(value = "转出地行政区划代码")
    private String aab301;

    @NotBlank
    @ApiModelProperty(value = "参保地行政区划代码")
    private String aab299;

    @NotBlank
    @ApiModelProperty(value = "参保地名称")
    private String aab300;

    @NotNull
    @ApiModelProperty(value = "年度")
    private BigDecimal aae001;

    @NotNull
    @ApiModelProperty(value = "缴费起始时间")
    private BigDecimal aae041;

    @NotNull
    @ApiModelProperty(value = "缴费终止时间")
    private BigDecimal aae042;

    @ApiModelProperty(value = "月缴费基数")
    private BigDecimal aae180;

    @NotNull
    @ApiModelProperty(value = "缴费月数")
    private BigDecimal aae202;

    @ApiModelProperty(value = "个人缴费比例")
    private BigDecimal aaa041;

    @ApiModelProperty(value = "单位缴费划入个人账户比例")
    private BigDecimal aaa043;

    @ApiModelProperty(value = "单位缴费比例")
    private BigDecimal aaa042;

    @ApiModelProperty(value = "当年记账金额")
    private BigDecimal aae381;

    @ApiModelProperty(value = "当年记账金额中的个人缴费部分")
    private BigDecimal aae264;

    @ApiModelProperty(value = "当年记账利息")
    private BigDecimal aae269;

    @ApiModelProperty(value = "当年记账利息中的个人缴费部分")
    private BigDecimal aae265;

    @ApiModelProperty(value = "至本年末账户累计储存额")
    private BigDecimal aae382;

    @ApiModelProperty(value = "至本年末账户累计储存额中的个人缴费部分")
    private BigDecimal aae273;

    @NotBlank
    @ApiModelProperty(value = "基本养老保险关系转移接续信息表ID")
    private String aaz756;

    @NotBlank
    @ApiModelProperty(value = "人员参保关系ID")
    private String aaz159;

    @ApiModelProperty(value = "历年缴费流水号")
    private String aaz751;

    @ApiModelProperty(value = "备注")
    private String aae013;

    @ApiModelProperty(value = "经办人")
    private String aae011;

    @ApiModelProperty(value = "经办时间")
    private BigDecimal aae036;

    @ApiModelProperty(value = "经办机构")
    private String aab359;
    @ApiModelProperty(value = "业务日志id")
    private String aaz002;

    public void copy(TransferIc91 source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
